ccccoooo retrieves a revision from each RCS file and stores it into the
corresponding working file.
Pathnames matching an RCS suffix denote RCS files; all others denote
working files. Names are paired as explained in cccciiii(1).
Revisions of an RCS file may be checked out locked or unlocked. Locking
a revision prevents overlapping updates. A revision checked out for
reading or processing (e.g., compiling) need not be locked. A revision
checked out for editing and later checkin must normally be locked.
Checkout with locking fails if the revision to be checked out is
currently locked by another user. (A lock may be broken with rrrrccccssss(1).)
Checkout with locking also requires the caller to be on the access list
of the RCS file, unless he is the owner of the file or the superuser, or
the access list is empty. Checkout without locking is not subject to
accesslist restrictions, and is not affected by the presence of locks.
A revision is selected by options for revision or branch number, checkin
date/time, author, or state. When the selection options are applied in
combination, ccccoooo retrieves the latest revision that satisfies all of them.
If none of the selection options is specified, ccccoooo retrieves the latest
revision on the default branch (normally the trunk, see the ----bbbb option of
rrrrccccssss(1)). A revision or branch number may be attached to any of the
options ----ffff, ----IIII, ----llll, ----MMMM, ----pppp, ----qqqq, ----rrrr, or ----uuuu. The options ----dddd (date), ----ssss
(state), and ----wwww (author) retrieve from a single branch, the _s_e_l_e_c_t_e_d
branch, which is either specified by one of ----ffff, ..., ----uuuu, or the default
branch.
A ccccoooo command applied to an RCS file with no revisions creates a zero-
length working file. ccccoooo always performs keyword substitution (see
below).
OOOOPPPPTTTTIIIIOOOONNNNSSSS
----rrrr[_r_e_v]
retrieves the latest revision whose number is less than or equal to
_r_e_v. If _r_e_v indicates a branch rather than a revision, the latest
revision on that branch is retrieved. If _r_e_v is omitted, the latest
revision on the default branch (see the ----bbbb option of rrrrccccssss(1)) is
retrieved. If _r_e_v is $$$$, ccccoooo determines the revision number from
keyword values in the working file. Otherwise, a revision is
composed of one or more numeric or symbolic fields separated by
periods. If _r_e_v begins with a period, then the default branch
(normally the trunk) is prepended to it. If _r_e_v is a branch number
followed by a period, then the latest revision on that branch is
used. The numeric equivalent of a symbolic field is specified with
PPPPaaaaggggeeee 1111
CCCCOOOO((((1111)))) CCCCOOOO((((1111))))
the ----nnnn option of the commands cccciiii(1) and rrrrccccssss(1).
----llll[_r_e_v]
same as ----rrrr, except that it also locks the retrieved revision for the
caller.
----uuuu[_r_e_v]
same as ----rrrr, except that it unlocks the retrieved revision if it was
locked by the caller. If _r_e_v is omitted, ----uuuu retrieves the revision
locked by the caller, if there is one; otherwise, it retrieves the
latest revision on the default branch.
----ffff[_r_e_v]
forces the overwriting of the working file; useful in connection
with ----qqqq. See also FILE MODES below.
----kkkkkkkkvvvv Generate keyword strings using the default form, e.g. $$$$RRRReeeevvvviiiissssiiiioooonnnn::::
1111....11114444 $$$$ for the RRRReeeevvvviiiissssiiiioooonnnn keyword. A locker's name is inserted in the
value of the HHHHeeeeaaaaddddeeeerrrr, IIIIdddd, and LLLLoooocccckkkkeeeerrrr keyword strings only as a file
is being locked, i.e. by cccciiii ----llll and ccccoooo ----llll. This is the default.
----kkkkkkkkvvvvllll
Like ----kkkkkkkkvvvv, except that a locker's name is always inserted if the
given revision is currently locked.
----kkkkkkkk Generate only keyword names in keyword strings; omit their values.
See KEYWORD SUBSTITUTION below. For example, for the RRRReeeevvvviiiissssiiiioooonnnn
keyword, generate the string $$$$RRRReeeevvvviiiissssiiiioooonnnn$$$$ instead of $$$$RRRReeeevvvviiiissssiiiioooonnnn:::: 1111....11114444
$$$$. This option is useful to ignore differences due to keyword
substitution when comparing different revisions of a file. Log
messages are inserted after $$$$LLLLoooogggg$$$$ keywords even if ----kkkkkkkk is specified,
since this tends to be more useful when merging changes.
----kkkkoooo Generate the old keyword string, present in the working file just
before it was checked in. For example, for the RRRReeeevvvviiiissssiiiioooonnnn keyword,
generate the string $$$$RRRReeeevvvviiiissssiiiioooonnnn:::: 1111....1111 $$$$ instead of $$$$RRRReeeevvvviiiissssiiiioooonnnn:::: 1111....11114444 $$$$ if
that is how the string appeared when the file was checked in. This
can be useful for file formats that cannot tolerate any changes to
substrings that happen to take the form of keyword strings.
----kkkkbbbb Generate a binary image of the old keyword string. This acts like
----kkkkoooo, except it performs all working file input and output in binary
mode. This makes little difference on Posix and Unix hosts, but on
DOS-like hosts one should use rrrrccccssss ----iiii ----kkkkbbbb to initialize an RCS file
intended to be used for binary files. Also, on all hosts,
rrrrccccssssmmmmeeeerrrrggggeeee(1) normally refuses to merge files when ----kkkkbbbb is in effect.
----kkkkvvvv Generate only keyword values for keyword strings. For example, for
the RRRReeeevvvviiiissssiiiioooonnnn keyword, generate the string 1111....11114444 instead of $$$$RRRReeeevvvviiiissssiiiioooonnnn::::
1111....11114444 $$$$. This can help generate files in programming languages where
it is hard to strip keyword delimiters like $$$$RRRReeeevvvviiiissssiiiioooonnnn:::: $$$$ from a
string. However, further keyword substitution cannot be performed
PPPPaaaaggggeeee 2222
CCCCOOOO((((1111)))) CCCCOOOO((((1111))))
once the keyword names are removed, so this option should be used
with care. Because of this danger of losing keywords, this option
cannot be combined with ----llll, and the owner write permission of the
working file is turned off; to edit the file later, check it out
again without ----kkkkvvvv.
----pppp[_r_e_v]
prints the retrieved revision on the standard output rather than
storing it in the working file. This option is useful when ccccoooo is
part of a pipe.
----qqqq[_r_e_v]
quiet mode; diagnostics are not printed.
----IIII[_r_e_v]
interactive mode; the user is prompted and questioned even if the
standard input is not a terminal.
----dddd_d_a_t_e
retrieves the latest revision on the selected branch whose checkin
date/time is less than or equal to _d_a_t_e. The date and time may be
given in free format. The time zone LLLLTTTT stands for local time; other
common time zone names are understood. For example, the following
_d_a_t_es are equivalent if local time is January 11, 1990, 8pm Pacific
Standard Time, eight hours west of Coordinated Universal Time (UTC):
8888::::00000000 ppppmmmm lllltttt
4444::::00000000 AAAAMMMM,,,, JJJJaaaannnn.... 11112222,,,, 1111999999990000 default is UTC
1111999999990000----00001111----11112222 00004444::::00000000::::00000000++++00000000 ISO 8601 (UTC)
1111999999990000----00001111----11111111 22220000::::00000000::::00000000----00008888 ISO 8601 (local time)
1111999999990000////00001111////11112222 00004444::::00000000::::00000000 traditional RCS format